home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 May / EnigmA AMIGA RUN 18 (1997)(G.R. Edizioni)(IT)[!][issue 1997-05][EAR-CD II].iso / earcd / util / dir / managers.lha / Managers / Dir / Dir.rep < prev    next >
Text File  |  1997-01-15  |  3KB  |  153 lines

  1. G4C   
  2.  
  3. ; Dir.rep - GUI for the c:Rep replace command.
  4.  
  5.  
  6. ; ----------------- The window
  7.  
  8. WinBig -1 -1 400 100 'Replace in selected files'
  9. WinType 11110001
  10.  
  11. BOX    0 0 0 0 OUT ICONDROP
  12.  
  13. ; ----------------- General events
  14.  
  15. xOnLoad
  16. setscreen dir.rep $lv_fmscreen      ; it may be on another screen.
  17. rp_from  = ""
  18. rp_to    = ""
  19. rp_savemode = OVER
  20. rp_ci = ""
  21. guiopen Dir.rep
  22. RUN 'resident c:Rep pure add'
  23.  
  24. xOnReload
  25. setscreen dir.rep $lv_fmscreen
  26. guiopen dir.rep
  27.  
  28. xOnClose
  29. delvar rp_#?
  30. guiquit Dir.rep
  31. run 'resident Rep remove'
  32.  
  33. ; ---------------- text-in gadgets for entering..
  34.  
  35. xTextIn   80 5  310 18 'Replace:' rp_from "" 200    ; string to Rep
  36. gadid 1
  37. setgad dir.rep 2 on   ; activate next textin
  38.  
  39.  
  40. xTextIn   80 25 310 18 'With:' rp_to "" 200        ; Rep with this
  41. gadid 2
  42.  
  43. ; ---------------- Do we want to add extensions to the files ?
  44.  
  45. xCycler  10 45 190 14 "" rp_savemode
  46. gadid 3
  47. cstr 'OVERWRITE Files'    OVER
  48. cstr 'Add .rep extension' EXT
  49.  
  50. ; ---------------- case insensitive search ?
  51.  
  52. xCycler  200 45 190 14 "" rp_ci
  53. gadid 6
  54. cstr 'Case Sensitive'    ""
  55. cstr 'Case Insensitive'  I
  56.  
  57. ; ---------------- A text display, telling you what's going on.
  58.  
  59. TEXT 15 65 50 14 Status: 20 NOBOX
  60.  
  61. TEXT 80 65 310 14 Waiting.. 100 BOX
  62. gadid 4
  63.  
  64. ; ---------------- Start converting..
  65.  
  66. xButton 210 80 90 14 Start
  67. gadid 5
  68. rp_id  = $$LV_ID
  69. lvmulti dir.gc $rp_id first
  70. if $lv_file = ""
  71.    ezreq "No files selected!" OK ''
  72.    stop
  73. endif
  74. if $$LV_TYPE != FILE
  75.    ezreq 'Directories can not\nbe converted!\n\nTry again..\n' OK ""
  76.    stop 
  77. endif
  78. if $rp_from = ""
  79.    ezreq 'No "Replace:" defined!' OK ""
  80.    stop
  81. endif
  82. rp_flag = 0
  83. rp_destfile = ""
  84. if $rp_savemode = EXT
  85.    extract lv_file UNQUOTE rp_fname
  86.    appvar  rp_fname .rep
  87.    rp_destfile = \"$rp_fname\"
  88. endif
  89. gosub dir.rep disable
  90. update Dir.rep 4 'REP: $lv_file'
  91. launch 5 'Rep $lv_file $rp_from \"$rp_to\" $rp_destfile $rp_ci'
  92.  
  93. ; Use of the launch command will allow the other GUIs running on
  94. ; this instance of Gui4Cli to go about their business normally
  95.  
  96. xOnReturn 5
  97. update Dir.rep 4 'Finished.'
  98. lvmulti Dir.gc $rp_id OFF    ; set selection off
  99. if $rp_flag != 0          ; check abort flag
  100.    rp_flag = 0            ; reset for next time
  101.    gosub dir.rep enable
  102.    stop
  103. endif
  104. lvmulti Dir.gc $rp_id next    ; get next file
  105. if $lv_file = ""        ; no more files
  106.    lvdir Dir.gc $rp_id refresh
  107.    gosub dir.rep enable
  108.    stop
  109. endif
  110. if $rp_savemode = EXT
  111.    extract lv_file UNQUOTE rp_fname
  112.    appvar  rp_fname .rep
  113.    rp_destfile = \"$rp_fname\"
  114. endif
  115. update Dir.rep 4 'REP: $lv_file'
  116. launch 5 'Rep $lv_file $rp_from \"$rp_to\" $rp_destfile $rp_ci'
  117.  
  118.  
  119. ; --------------- Cancel the rest of the files chosen.
  120.  
  121.  
  122. xButton 300 80 90 14 Stop
  123. setvar rp_flag 1
  124.  
  125. ; --------------- Routines to disables & enable guis
  126.  
  127. xRoutine disable
  128. guiwindow dir.gc wait
  129. setgad dir.rep 1 off
  130. setgad dir.rep 2 off
  131. setgad dir.rep 3 off
  132. setgad dir.rep 5 off
  133. setgad dir.rep 6 off
  134.  
  135. xRoutine enable
  136. guiwindow dir.gc resume
  137. setgad dir.rep 1 on
  138. setgad dir.rep 2 on
  139. setgad dir.rep 3 on
  140. setgad dir.rep 5 on
  141. setgad dir.rep 6 on
  142.  
  143. xOnFail
  144. gosub dir.rep enable
  145.  
  146.  
  147.  
  148.  
  149.  
  150.  
  151.  
  152.  
  153.